package sge.DAO;

import java.util.ArrayList;
import java.util.logging.Logger;
import sge.Datos.ModeloTabla;
import sge.Entidades.*;

public class AsistenteEventoDAO implements ObjetoDAO {

    private final static Logger LOG = Logger.getLogger(UsuarioDAO.class.getName());

    public AsistenteEventoDAO() {
    }

    public boolean crear(AsistenteEvento asistenteEvento) {

        String consulta = "INSERT INTO asistente_evento"
                + "(asistente_id_asistente, evento_id_evento, "
                + "pago_id_pago, aprobado, observacion) "
                + "VALUES('"
                + asistenteEvento.getAsistenteEventoPK().getAsistenteIdAsistente() + "', '"
                + asistenteEvento.getAsistenteEventoPK().getEventoIdEvento() + "', '"
                + asistenteEvento.getPagoIdPago() + "', '"
                + asistenteEvento.getAprobado() + "', '"
                + asistenteEvento.getObservacion() + "');";

        boolean exito = CONEXION.ejecutarSQL(consulta) > 0;;

        return exito;
    }

    public boolean modificar(AsistenteEvento asistenteEvento) {
        String consulta = "UPDATE asistente_evento "
                + "SET id='" + asistenteEvento.getAsistenteEventoPK()
                + "', asistente_id_asistente='"
                + asistenteEvento.getAsistenteEventoPK().getAsistenteIdAsistente()
                + "', evento_id_evento='"
                + asistenteEvento.getAsistenteEventoPK().getEventoIdEvento()
                + "', pago_id_pago='" + asistenteEvento.getPagoIdPago()
                + "', aprobado='" + asistenteEvento.getAprobado()
                + "', observacion='" + asistenteEvento.getObservacion()
                + "' WHERE asistente_id_asistente='" + asistenteEvento.getAsistenteEventoPK().getAsistenteIdAsistente() + "'"
                + " AND evento_id_evento='" + asistenteEvento.getAsistenteEventoPK().getEventoIdEvento() + "';";


        boolean exito = CONEXION.ejecutarSQL(consulta) > 0;;
        return exito;
    }

    public boolean eliminar(AsistenteEvento asistenteEvento) {
        String consulta = "DELETE FROM asistente_evento WHERE asistente_id_asistente='" + asistenteEvento.getAsistenteEventoPK().getAsistenteIdAsistente() + "'"
                + " AND evento_id_evento='" + asistenteEvento.getAsistenteEventoPK().getEventoIdEvento() + "';";

        boolean exito = CONEXION.ejecutarSQL(consulta) > 0;;
        return exito;
    }

    public boolean consultar(AsistenteEvento asistenteEvento) {

        /*String consulta = "SELECT * FROM usuario WHERE estado = 1 ";

         if (u.getIdUsuario() != null) {
         consulta += " AND id_usuario = ?";
         }else {
         return false;
         }

         PreparedStatement ps =
         CONEXION.crearSentenciaPreparada(consulta);

         try {
         ps.setInt(1, u.getIdUsuario());
     
         ResultSet rs = ps.executeQuery();

         if (rs.next()) {
         u.setIdUsuario(rs.getInt(1));
         u.setClave(rs.getString(2));
         u.setDocumento(rs.getString(3));
         u.setNombre(rs.getString(4));
         u.setApellido(rs.getString(5));
         u.setDireccion(rs.getString(6));
         u.setTelefono(rs.getString(7));
         u.setTipo(rs.getString(8));
         u.setCargo(rs.getString(9));
         u.setEstado(rs.getString(10));
         return true;
         } else {
         return false;
         }

         } catch (SQLException ex) {
         Logger.getLogger(UsuarioDAO.class.getName()).log(Level.SEVERE, null, ex);
         }*/
        return false;
    }

    public ModeloTabla seleccionar() {
        String consulta = "SELECT * FROM asistente_evento";
        ArrayList<String> cols = new ArrayList<>();

        cols.add("Id");
        cols.add("Asistente id asistente");
        cols.add("Evento id evento");
        cols.add("Pago id pago");
        cols.add("Aprobado");
        cols.add("Observacion");

        ModeloTabla modelo = new ModeloTabla(consulta, cols, false);

        return modelo;

    }
}